解决PyTorch无法调用GPU,torch.cuda.is | 您所在的位置:网站首页 › torch gpu › 解决PyTorch无法调用GPU,torch.cuda.is |
解决PyTorch无法调用GPU,torch.cuda.is_available()显示False的问题
在Aliyun ECS上部署Demucs项目时,发现torch始终无法调用GPU。python -c "import torch;print(torch.cuda.is_available())"一直显示是False。 一、先说答案需要修改Demucs项目默认的 environment-cuda.yml ,覆盖指定这几个参数 - python=3.9.7 - pytorch=1.12.1 - torchaudio=0.12.1 - cudatoolkit=10.2 - torchvision=0.13.1完整文件如下: name: demucs-new channels: - pytorch - conda-forge dependencies: - python=3.9.7 - ffmpeg>=4.2 - pytorch=1.12.1 - torchaudio=0.12.1 - cudatoolkit=10.2 - torchvision=0.13.1 - tqdm>=4.36 - pip - pip: - diffq>=0.2 - dora-search - einops - hydra-colorlog>=1.1 - hydra-core>=1.1 - julius>=0.2.3 - lameenc>=1.2 - openunmix - musdb>=0.4.0 - museval>=0.4.0 - soundfile - submitit - treetable>=0.2.3如果之前已经用默认的yml文件创建了环境,需先把原来的环境删掉。修改完成后,执行以下命令 . /root/miniconda/etc/profile.d/conda.sh conda env update -f environment-cuda.yml conda activate demucs-new conda deactivate pip install -e .实验是否成功 python -c "import torch;print('torch cpu version: ' + str(torch.__version__));print('torch cuda version: ' + str(torch.version.cuda));print('cuda is_available: ' + str(torch.cuda.is_available()));torch.zeros(1).cuda();" 二、解决过程ECS创建时有设置安装了nvidia驱动和CUDA,使用 nvidia-smi nvcc -V cat /usr/local/cuda/version.txt可以正常显示驱动版本,如下: CUDA 版本 10.2.89 / Driver 版本 460.91.03 / CUDNN 版本 7.6.5 NVIDIA-SMI 460.91.03 Driver Version: 460.91.03 CUDA Version: 11.2 nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Wed_Oct_23_19:24:38_PDT_2019 Cuda compilation tools, release 10.2, V10.2.89但Demucs所依赖的Pytorch始终无法调用。查看了environment-cuda.yml,发现 - python>=3.7,=1.8.1 - torchaudio>=0.8 - cudatoolkit>=10yml文件并没有指定固定版本,而只是 >=。使用默认的yml文件初始化环境,得到的版本是 Python 3.9.16 torch 1.13.1 torchaudio 0.13.1PyTorch使用GPU需要版本能匹配。可在 PyTorch版本匹配参考 查看到 CUDA,Python,Torch 兼容的版本号。默认yml获取的版本存在兼容性问题,需要在yml中指定可兼容的版本号,即可解决问题。 三、解决部署Demucs容易遇到的的三个小问题 3.1 `Can not execute `setup.py` since setuptools is not available in the build environment`尝试 更新 pip setuptools python -m pip install --upgrade pip python -m pip install --upgrade setuptools 3.2 `ModuleNotFoundError: No module named ‘_ctypes’`执行 yum install -y libffi-devel 或 sudo apt-get install libffi-dev 3.3 ‘soundfile’ backend is not available.报错如下: /root/projects/voice_factory/venv/lib/python3.9/site-packages/torchaudio/_internal/module_utils.py:99: UserWarning: Failed to import soundfile. 'soundfile' backend is not available. warnings.warn("Failed to import soundfile. 'soundfile' backend is not available.")执行 yum -y install libsndfile |
CopyRight 2018-2019 实验室设备网 版权所有 |